#ifndef SERIALPORT
#define SERIALPORT

#include <errno.h> /*错误号定义*/
#include <fcntl.h> /*文件控制定义*/
#include <stdint.h>
#include <stdio.h>  /*标准输入输出定义*/
#include <stdlib.h> /*标准函数库定义*/
#include <sys/stat.h>
#include <sys/types.h>
#include <termios.h> /*PPSIX 终端控制定义*/
#include <unistd.h>  /*Unix 标准函数定义*/

#include <iostream>

class serialPort
{
   private:
    int fd;
    uint8_t rw_switch;
    struct termios Opt;

   public:
    serialPort();
    bool OpenPort(const char *dev, speed_t speed);
    bool setbaudrate(speed_t speed);
    void rs485_ctl(int rw);
    int readBuffer(uint8_t *buf, int len);
    int writeBuffer(uint8_t *buf, int len);
    int writeBuffer_rs485(uint8_t *buf, int len);
    void ClosePort();
};

#endif
